<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组拓展方法</title>
</head>
<body>
    <script>
        /* 
            indexOf：该值在数组中的 第一个 下标
            lastIndexOf：该值在数组中的 最后 下标
            map：遍历数组，返回一个新的数组，返回加工后的值
            filter： 遍历过滤，返回一个新的数组，返回条件是true
            reduce：需要return ,第一个参数是传递进来的参数，第二个是每一项，第三个是下标
        */

        var arr = ['JavaScript','java','vue','vue']
        console.log("该值在数组中的第一个下标",arr.indexOf('vue')); 
        console.log("该值在数组中的最后下标",arr.lastIndexOf('vue')); 

        // ==== map ====
        var mapNewArr = arr.map((item)=>{
            return item + '$'
        })
        console.log('arr==',arr );
        console.log('mapNewArr==',mapNewArr );

        // ==== filter ====
        var filterNewArr = arr.filter((item) => {
            return item.length > 3
        })
        console.log('arr==',arr );
        console.log('filterNewArr==',filterNewArr );

       var reduceNewObj = arr.reduce((pre,item,index) => {
            console.log(pre,item,index);
            pre[item] = item
            return pre
        },{})
        console.log('reduceNewObj=',reduceNewObj);

    </script>
</body>
</html>